
package com.ht.modules.device.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ht.modules.device.entity.DeviceElectricityHour;
import com.ht.modules.device.entity.DeviceElectricityHourVo;
import com.ht.modules.device.entity.DeviceElectricityStatisticVo;

import java.util.List;

/**
 *  电表小时数据
 * @Author:
 * @Date:   2025-03-25
 * @Version: V1.0
 */
public interface IDeviceElectricityHourService extends IService<DeviceElectricityHour> {

    /**
	 * 分页列表查询
	 * @param deviceElectricityHourVo 参数
	 * @param page 分页对象
	 * @param column 默认排序列
	 * @param order 默认排序方式
	 * @return 分页列表
	 */
	Page<DeviceElectricityHourVo> list(Page<DeviceElectricityHourVo> page, DeviceElectricityHourVo deviceElectricityHourVo, String column, String order);

    /**
     * 不分页列表查询
     * @param deviceElectricityHourVo 参数
     * @param column 默认排序列
     * @param order 默认排序方式
     * @return 不分页列表
     */
	List<DeviceElectricityHourVo> listNoPage(DeviceElectricityHourVo deviceElectricityHourVo, String column, String order);

    /**
     * 添加
     * @param deviceElectricityHour 参数
     */
	void add(DeviceElectricityHour deviceElectricityHour);

    /**
     * 编辑
     * @param deviceElectricityHour 参数
     */
	void edit(DeviceElectricityHour deviceElectricityHour);

    /**
     * 通过id删除（逻辑删除）
     * @param id 参数
     */
	void delete(Integer id);

    /**
     * 批量删除（逻辑删除）
     * @param ids 参数
     */
	void deleteBatch(String ids);

    /**
	 * 通过id查询
	 * @param id 参数
	 * @return 查询结果
	 */
	DeviceElectricityHour queryById(Integer id);

    /**
     * 通过id查询Vo
     * @param id 参数
     * @return 查询结果
     */
	DeviceElectricityHourVo queryVoById(Integer id);

	List<DeviceElectricityStatisticVo> queryElectricityMeterDayList(DeviceElectricityStatisticVo deviceElectricityStatisticVo);

	List<DeviceElectricityStatisticVo> queryElectricityMeterHourList(DeviceElectricityStatisticVo deviceElectricityStatisticVo);

	List<DeviceElectricityHour> electricalEquipmentAnalysis(String id, String startTime, String endTime);
}


